; Music of Despotik Design (1987) (Ere)
; Ripped by Megachur the 11/02/2009

; Need System Vectors

	write "DESPOTID.BIN"

music_date_rip	equ &0b29
music_adr	equ &9500
first_theme	equ 0
last_theme	equ 0	; 0 -> 0

	read "music_header_v1_0.asm"

.l9504 equ $ + 4
.l9502 equ $ + 2
.l9501 equ $ + 1
.l9500
	db #01,#01,#14,#00,#28,#00,#0a,#28
	db #00,#0a,#28,#00,#0a,#14,#00,#0a
	db #14,#00,#14,#28,#00,#0a,#28,#00
	db #0a,#28,#00,#0a,#14,#00,#14,#0a
.l9525 equ $ + 5
	db #00,#02,#0a,#00,#02,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#cc,#02,#14
	db #00,#cc,#02,#14,#00,#64,#01,#14
	db #00,#7c,#01,#14,#00,#90,#00,#14
	db #00,#98,#00,#14,#00,#90,#00,#14
	db #00,#98,#00,#14,#00,#cc,#02,#14
	db #00,#cc,#02,#14,#00,#64,#01,#14
	db #00,#7c,#01,#14,#00,#90,#00,#14
	db #00,#98,#00,#14,#00,#90,#00,#14
	db #00,#98,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#7c,#02,#14
	db #00,#7c,#02,#14,#00,#40,#01,#14
	db #00,#50,#01,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#7c,#02,#14
	db #00,#7c,#02,#14,#00,#40,#01,#14
	db #00,#50,#01,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#cc,#02,#14
	db #00,#cc,#02,#14,#00,#64,#01,#14
	db #00,#7c,#01,#14,#00,#90,#00,#14
	db #00,#98,#00,#14,#00,#90,#00,#14
	db #00,#98,#00,#14,#00,#cc,#02,#14
	db #00,#cc,#02,#14,#00,#64,#01,#14
	db #00,#7c,#01,#14,#00,#90,#00,#14
	db #00,#98,#00,#14,#00,#90,#00,#14
	db #00,#98,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#00,#00,#14
	db #00,#00,#00,#14,#00,#7c,#02,#14
	db #00,#7c,#02,#14,#00,#40,#01,#14
	db #00,#50,#01,#14,#00,#80,#00,#14
	db #00,#88,#00,#14,#00,#80,#00,#14
	db #00,#88,#00,#14,#00,#cc,#02,#14
	db #00,#cc,#02,#14,#00,#64,#01,#14
	db #00,#7c,#01,#14,#00,#90,#00,#14
	db #00,#98,#00,#14,#00,#90,#00,#14
	db #00,#98,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#03,#14
	db #00,#bc,#03,#14,#00,#dc,#01,#14
	db #00,#fc,#01,#14,#00,#bc,#00,#14
	db #00,#c8,#00,#14,#00,#bc,#00,#14
.l9925 equ $ + 5
	db #00,#c8,#00,#14,#00,#de,#01,#00
	db #00,#0c,#01,#0c,#01,#de,#01,#00
	db #00,#00,#00,#86,#00,#de,#01,#00
	db #00,#0c,#01,#0c,#01,#de,#01,#00
	db #00,#00,#00,#86,#00,#de,#01,#00
	db #00,#0c,#01,#0c,#01,#de,#01,#00
	db #00,#00,#00,#86,#00,#de,#01,#00
	db #00,#0c,#01,#0c,#01,#de,#01,#00
	db #00,#00,#00,#86,#00,#86,#00,#7c
	db #01,#86,#00,#7c,#01,#86,#00,#7c
	db #01,#a0,#00,#7c,#01,#86,#00,#7c
	db #01,#86,#00,#7c,#01,#86,#00,#7c
	db #01,#a0,#00,#7c,#01,#de,#01,#00
	db #00,#0c,#01,#0c,#01,#de,#01,#00
	db #00,#00,#00,#86,#00,#de,#01,#00
	db #00,#0c,#01,#0c,#01,#de,#01,#00
	db #00,#00,#00,#86,#00,#64,#00,#1c
	db #01,#64,#00,#1c,#01,#64,#00,#1c
	db #01,#78,#00,#1c,#01,#64,#00,#1c
	db #01,#64,#00,#1c,#01,#64,#00,#1c
	db #01,#78,#00,#1c,#01,#de,#01,#00
	db #00,#0c,#01,#0c,#01,#de,#01,#00
	db #00,#00,#00,#86,#00,#de,#01,#00
	db #00,#0c,#01,#0c,#01,#de,#01,#00
	db #00,#00,#00,#86,#00,#3e,#01,#fe
	db #00,#d4,#00,#00,#00,#b2,#00,#6a
	db #00,#fe,#00,#3e,#01,#3e,#01,#fe
	db #00,#d4,#00,#00,#00,#b2,#00,#6a
	db #00,#fe,#00,#3e,#01,#de,#01,#00
	db #00,#0c,#01,#0c,#01,#de,#01,#00
	db #00,#00,#00,#86,#00,#de,#01,#00
	db #00,#0c,#01,#0c,#01,#de,#01,#00
	db #00,#00,#00,#86,#00,#77,#00,#86
	db #00,#9f,#00,#be,#00,#ef,#00,#77
	db #00,#86,#00,#77,#00,#77,#00,#86
	db #00,#9f,#00,#be,#00,#ef,#00,#77
	db #00,#86,#00,#77,#00,#77,#00,#86
	db #00,#9f,#00,#be,#00,#ef,#00,#77
	db #00,#86,#00,#77,#00,#77,#00,#86
	db #00,#9f,#00,#be,#00,#ef,#00,#77
	db #00,#86,#00,#77,#00,#59,#00,#64
	db #00,#77,#00,#8e,#00,#b3,#00,#59
	db #00,#64,#00,#59,#00,#59,#00,#64
	db #00,#77,#00,#8e,#00,#b3,#00,#59
	db #00,#64,#00,#59,#00,#de,#01,#00
	db #00,#0c,#01,#0c,#01,#de,#01,#00
	db #00,#00,#00,#86,#00,#de,#01,#00
	db #00,#0c,#01,#0c,#01,#de,#01,#00
	db #00,#00,#00,#86,#00,#50,#00,#59
	db #00,#6a,#00,#7f,#00,#9f,#00,#50
	db #00,#59,#00,#50,#00,#59,#00,#64
	db #00,#77,#00,#8e,#00,#b3,#00,#59
	db #00,#64,#00,#59,#00,#de,#01,#00
	db #00,#ee,#00,#ee,#00,#de,#01,#00
	db #00,#00,#00,#78,#00,#de,#01,#00
	db #00,#ee,#00,#ee,#00,#de,#01,#00
	db #00,#00,#00,#78,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#de,#01,#00
	db #00,#0c,#01,#0c,#01,#de,#01,#00
	db #00,#00,#00,#86,#00,#de,#01,#00
	db #00,#0c,#01,#0c,#01,#de,#01,#00
	db #00,#00,#00,#86,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	jp l9b43	; play
	jp l9c68	; init
.l9b3c equ $ + 6
.l9b3a equ $ + 4
.l9b38 equ $ + 2
.l9b36
	db #00,#00,#00,#00,#00,#00,#00
.l9b3d
	ld a,h
	sub d
	ret nz
	ld a,l
	sub e
	ret
;
.play_music
.l9b43
;
	ld a,#04
	call #bcad
	cp #81
	jr z,l9b76
	ld hl,(l9b36)
	ld ix,l9dc7
	ld a,(hl)
	ld (ix+#07),a
	inc hl
	ld a,(hl)
	ld (ix+#08),a
	inc hl
	ld a,(hl)
	ld (ix+#05),a
	inc hl
	ld de,l9525
	call l9b3d
	jr nz,l9b6d
	ld hl,l9504
.l9b6d
	ld (l9b36),hl
	push ix
	pop hl
	call #bcaa
.l9b76
	ld a,#02
	call #bcad
	cp #81
	jr z,l9bc0
	ld a,(l9b3c)
	or a
	jr nz,l9bc0
	ld hl,(l9b38)
	ld ix,l9dd0
	ld e,(hl)
	inc hl
	ld a,(hl)
	or e
	jr nz,l9b98
	ld a,#0c
	ld c,#01
	jr l9b9f
.l9b98
	ld a,(l9501)
	ld c,a
	ld a,(l9500)
.l9b9f
	ld (ix+#01),a
	ld (ix+#02),c
	ld (ix+#03),e
	ld a,(hl)
	ld (ix+#04),a
	inc hl
	ld a,(hl)
	ld (ix+#07),a
	inc hl
	ld a,(hl)
	ld (ix+#08),a
	inc hl
	ld (l9b38),hl
	push ix
	pop hl
	call #bcaa
.l9bc0
	ld a,#01
	call #bcad
	cp #81
	jr z,l9bfb
	ld a,(l9b3c)
	or a
	jr nz,l9bfb
	ld hl,(l9b3a)
	ld ix,l9dd9
	ld e,(hl)
	inc hl
	ld a,(hl)
	or e
	ld a,#0c
	ld d,#00
	jr z,l9be4
	ld a,#0d
	ld d,#06
.l9be4
	ld (ix+#01),a
	ld (ix+#02),d
	ld (ix+#03),e
	ld a,(hl)
	ld (ix+#04),a
	inc hl
	ld (l9b3a),hl
	push ix
	pop hl
	call #bcaa
.l9bfb
	ld hl,(l9b38)
	ld de,l9925
	call l9b3d
	jr nz,l9c4e
	ld a,#02
	call #bcad
	cp #04
	jr nz,l9c49
	ld a,#01
	call #bcad
	cp #04
	jr nz,l9c49
	ld hl,l9525
	ld (l9b38),hl
	ld hl,l9925
	ld (l9b3a),hl
	xor a
	ld (l9b3c),a
	ld hl,l9504
	ld (l9b36),hl
	ld a,#41
	ld (l9dd9),a
	inc a
	ld (l9dd0),a
	ld a,#44
	ld (l9dc7),a
	call #bca7
	ld b,#05
.l9c41
	push bc
	call l9b43
	pop bc
	djnz l9c41
	ret
.l9c49
	ld a,#01
	ld (l9b3c),a
.l9c4e
	ld a,(l9dd9)
	cp #41
	ret nz
	ld a,#01
	ld (l9dd9),a
	inc a
	ld (l9dd0),a
	ld a,#04
	ld (l9dc7),a
	ld a,#07
	call #bcb3
	ret
;
.real_init_music
.l9c68
;
	xor a
	ld (l9b3c),a
	call #bca7
	ld hl,l9525
	ld (l9b38),hl
	ld hl,l9504
	ld (l9b36),hl
	ld hl,l9925
	ld (l9b3a),hl
	ld a,#41
	ld (l9dd9),a
	inc a
	ld (l9dd0),a
	ld a,#44
	ld (l9dc7),a
	ld hl,l9502
	ld a,(hl)
	ld (l9de0),a
	inc hl
	ld a,(hl)
	ld (l9de1),a
	call #bca7
	ld hl,l9ccb
	ld b,#08
.l9ca3
	push bc
	ld a,(hl)
	inc hl
	push hl
	call #bcbc
	pop hl
.l9cab
	ld a,(hl)
	cp #80
	inc hl
	jr nz,l9cab
	pop bc
	djnz l9ca3
	ld hl,l9d5b
	ld b,#06
.l9cb9
	push bc
	ld a,(hl)
	inc hl
	push hl
	call #bcbf
	pop hl
.l9cc1
	ld a,(hl)
	cp #80
	inc hl
	jr nz,l9cc1
	pop bc
	djnz l9cb9
	ret
.l9ccb
	db #0b,#03,#01,#0f,#01,#07,#fe,#03
	db #01,#ff,#01,#00,#00,#00,#00,#00
	db #00,#80,#0c,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#80,#0d,#04,#01,#0e
	db #01,#01,#01,#04,#01,#ff,#04,#01
	db #ff,#02,#00,#00,#00,#80,#01,#05
	db #01,#0f,#01,#01,#00,#07,#05,#fe
	db #01,#01,#0c,#03,#01,#f6,#01,#80
	db #02,#01,#10,#ff,#07,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#80,#03,#01,#10,#ff,#03,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#80,#04,#01,#04,#fc
	db #18,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#80,#05,#03
	db #05,#03,#01,#01,#00,#14,#0f,#ff
	db #02,#00,#00,#00,#00,#00,#00,#80
.l9d5b
	db #01,#83,#01,#01,#01,#01,#ff,#01
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#80,#02,#82,#01,#05,#05,#01
	db #fb,#05,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#80,#03,#83,#01,#02
	db #01,#01,#fc,#01,#01,#02,#01,#00
	db #00,#00,#00,#00,#00,#80,#04,#83
	db #02,#01,#01,#04,#ff,#01,#02,#01
	db #01,#00,#00,#00,#00,#00,#00,#80
	db #05,#82,#04,#01,#03,#04,#ff,#03
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#80,#06,#83,#01,#00,#13,#01
	db #12,#03,#01,#ec,#03,#00,#00,#00
.l9dc7 equ $ + 4
	db #00,#00,#00,#80,#44,#0b,#00,#00
.l9dd0 equ $ + 5
	db #00,#00,#00,#00,#00,#42,#0c,#01
.l9dd9 equ $ + 6
	db #00,#00,#00,#00,#00,#00,#41,#0c
	db #00,#00,#00,#00,#00
.l9de0
	db #00
.l9de1
	db #00
	
;#5491
;
.init_music	; set env
;
	ld a,#01
	ld hl,l852a
	call #bcbc
	ld a,#02
	ld hl,l8534
	call #bcbc
	ld a,#03
	ld hl,l8538
	call #bcbc
	ld a,#04
	ld hl,l853f
	call #bcbc
	ld a,#01
	ld hl,l8550
	call #bcbf
	ld a,#02
	ld hl,l855d
	call #bcbf
	ld a,#03
	ld hl,l856a
	call #bcbf
	ld a,#04
	ld hl,l8571
	call #bcbf

; added by Megachur

	call real_init_music
	ld hl,evt_bloc
	ld bc,#8100
	ld de,play_music
	jp #bcd7	; call play_music every CRT interrupt
evt_bloc
	db #00,#00,#00,#00,#00,#00
	db #00,#00,#00

	
.l852a
	db #03,#05,#ff,#05,#05,#00,#03,#05
.l8538 equ $ + 6
.l8534 equ $ + 2
	db #ff,#04,#01,#0a,#ff,#02,#02,#03
.l853f equ $ + 5
	db #ff,#02,#03,#01,#03,#02,#05,#fe
	db #12,#02,#fc,#02,#00,#00,#00,#00
.l8550 equ $ + 6
	db #00,#00,#00,#00,#00,#00,#04,#05
	db #19,#01,#01,#83,#02,#05,#00,#01
.l855d equ $ + 3
	db #03,#16,#05,#04,#03,#ea,#05,#05
	db #00,#02,#01,#6a,#02,#05,#46,#01
.l8571 equ $ + 7
.l856a
	db #02,#0a,#7f,#01,#0a,#87,#01,#04
	db #02,#55,#01,#02,#a7,#01,#02,#4a
	db #02,#08,#f6,#01,#00,#00,#01,#02
	db #00,#00,#03,#07,#0f,#3c,#00,#01
	db #01,#00,#74,#00,#01,#0f,#3c,#00
	db #01,#01,#00,#09,#00,#01,#0f,#3c
	db #00,#01,#02,#00,#13,#00,#00,#0a
	db #14,#00,#01,#02,#00,#34,#00,#00
	db #0a,#14,#00,#01,#00,#00,#64,#00
	db #01,#0f,#01,#00,#01,#00,#00,#08
	db #00,#00,#0f,#02,#00,#01,#00,#01
	db #14,#00,#00,#0e,#04,#00,#01,#00
	db #01,#04,#00,#00,#0d,#1e,#00,#01
	db #00,#02,#46,#00,#00,#0d,#1e,#00
	db #04,#00,#01,#92,#01,#00,#0c,#1e
	db #00,#04,#00,#01,#64,#00,#00,#0c
	db #1e,#00,#04,#00,#00,#e7,#00,#00
	db #0f,#02,#00,#02,#00,#02,#85,#00
	db #00,#0e,#06,#00,#02,#00,#03,#32
	db #00,#00,#0d,#0a,#00,#04,#00,#00
	db #21,#00,#01,#0c,#01,#00,#02,#00
	db #00,#34,#08,#00,#0a,#03,#00,#07
	db #03,#04,#0c,#00,#00,#0e,#10,#00
	db #07,#04,#00,#f8,#02,#0c,#0e,#5e
	db #00,#00,#00,#00,#00,#00
;
.game_name
	db "Despotik Design",0
.game_year
	db "1987",0
.game_publisher
	db "Ere",0
.music_author
	db "",0
.music_comment
	db "",0

	read "music_end_v1_0.asm"
